<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <style>
        .box {
            width: 100%;
            height: 800px;
            background-color: #fff;
        }
    </style>
</head>

<body>
    <div class="box">

    </div>
    <script>
        var myCharts = echarts.init(document.querySelector('.box'))
        option = {
            // 控制线条颜色 以Y轴从下自上
            color: ['red', 'pink', 'blue', 'skyblue', 'green'],
            // title标题
            title: {

                text: 'Stacked Line'
            },
            // 提示组件 光标悬浮坐标 图形 时弹出提示
            tooltip: {
                trigger: 'axis'
            },
            // 控制图例系列的颜色 名字 显示与隐藏等等
            legend: {
                data: ['直播营销', '联盟广告', '视频广告','直接访问']
            },
            grid: {
                // 这些偏移控制grid绘图网格在容器内的大小
                left: '3%',
                right: '3%',
                bottom: '3%',
                // 如果绘图网格过大会导致刻度标签的溢出 containLabel可以选择刻度标签溢出时是否继续显示 true显示反之不显示
                containLabel: true
            },
            // 工具栏 导出下载整个图表 之类的工具 等等
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            xAxis: {
                // 设置x轴上的不同的类目
                type: 'category',
                // 坐标轴线两侧是否留白 一般不留白紧贴刻度标签显示
                boundaryGap: false,
                // 修改不同类目的名字
                data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
            },
            yAxis: {
                type: 'value'
            },
            // series几个对象对应几个线图 数组对象形式
            series: [
                {
                    // name名跟lengd图例名对应的
                    name: '直播营销',
                    // 图标类型是线形图
                    type: 'line',
                    // stack：'Total' = 数据堆叠 会累加data数据生成刻度标 例如 联盟广告第一个data值为220 如果联盟广告添加了 stack：'Total' 就会累加他前面的直播营销第一个data值120 实际渲染的点位图的刻度标就是340 所以一般是不累加的  解决方案 要么直接删除 stack：'Total'；要么给 stack：'Total'分别指定不同的值 就不会发生数据堆叠
                    // stack: 'Total',
                    // 对应name的值：内容
                    data: [120, 132, 101, 134, 90, 230, 210]
                },
                {
                    name: '联盟广告',
                    type: 'line',
                    // stack: 'Total',
                    data: [220, 182, 191, 234, 290, 330, 310]
                },
                {
                    name: '视频广告',
                    type: 'line',
                    // stack: 'Total',
                    data: [150, 232, 201, 154, 190, 330, 410]
                },
                {
                    name: '直接访问',
                    type: 'line',
                    // stack: 'Total',
                    data: [320, 332, 301, 334, 390, 330, 320]
                },
                // {
                //     name: 'Search Engine',
                //     type: 'line',
                //     stack: 'Total',
                //     data: [820, 932, 901, 934, 1290, 1330, 1320]
                // }
            ]
        };
        //   给我们的实例对象设置这个配置项数据
        option && myCharts.setOption(option);

    </script>
</body>

</html>